/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.persistencia.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author root
 */
@Entity
@Table(name = "planmaestroproducciondetallado")
@NamedQueries({
    @NamedQuery(name = "Planmaestroproducciondetallado.findAll", query = "SELECT p FROM Planmaestroproducciondetallado p"),
    @NamedQuery(name = "Planmaestroproducciondetallado.findByNumeroingreso", query = "SELECT p FROM Planmaestroproducciondetallado p WHERE p.numeroingreso = :numeroingreso"),
    @NamedQuery(name = "Planmaestroproducciondetallado.findByDia", query = "SELECT p FROM Planmaestroproducciondetallado p WHERE p.dia = :dia"),
    @NamedQuery(name = "Planmaestroproducciondetallado.findByFechaingresohojaruta", query = "SELECT p FROM Planmaestroproducciondetallado p WHERE p.fechaingresohojaruta = :fechaingresohojaruta"),
    @NamedQuery(name = "Planmaestroproducciondetallado.findByObservaciones", query = "SELECT p FROM Planmaestroproducciondetallado p WHERE p.observaciones = :observaciones"),
    @NamedQuery(name = "Planmaestroproducciondetallado.findByDigitador", query = "SELECT p FROM Planmaestroproducciondetallado p WHERE p.digitador = :digitador"),
    @NamedQuery(name = "Planmaestroproducciondetallado.findByFechadigitador", query = "SELECT p FROM Planmaestroproducciondetallado p WHERE p.fechadigitador = :fechadigitador")})
public class Planmaestroproducciondetallado implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "numeroingreso")
    private String numeroingreso;
    @Basic(optional = false)
    @NotNull
    @Column(name = "dia")
    @Temporal(TemporalType.DATE)
    private Date dia;
    @Column(name = "fechaingresohojaruta")
    @Temporal(TemporalType.DATE)
    private Date fechaingresohojaruta;
    @Size(max = 2147483647)
    @Column(name = "observaciones")
    private String observaciones;
    @Basic(optional = false)
    @NotNull
    @Column(name = "digitador")
    private int digitador;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fechadigitador")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechadigitador;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "planmaestroproducciondetalladoFk")
    private List<Ordenproduccion> ordenproduccionList;
    @JoinColumn(name = "planmaestroproduccion_fk", referencedColumnName = "numeroingreso")
    @ManyToOne(optional = false)
    private Planmaestroproduccion planmaestroproduccionFk;

    public Planmaestroproducciondetallado() {
    }

    public Planmaestroproducciondetallado(String numeroingreso) {
        this.numeroingreso = numeroingreso;
    }

    public Planmaestroproducciondetallado(String numeroingreso, Date dia, int digitador, Date fechadigitador) {
        this.numeroingreso = numeroingreso;
        this.dia = dia;
        this.digitador = digitador;
        this.fechadigitador = fechadigitador;
    }

    public String getNumeroingreso() {
        return numeroingreso;
    }

    public void setNumeroingreso(String numeroingreso) {
        this.numeroingreso = numeroingreso;
    }

    public Date getDia() {
        return dia;
    }

    public void setDia(Date dia) {
        this.dia = dia;
    }

    public Date getFechaingresohojaruta() {
        return fechaingresohojaruta;
    }

    public void setFechaingresohojaruta(Date fechaingresohojaruta) {
        this.fechaingresohojaruta = fechaingresohojaruta;
    }

    public String getObservaciones() {
        return observaciones;
    }

    public void setObservaciones(String observaciones) {
        this.observaciones = observaciones;
    }

    public int getDigitador() {
        return digitador;
    }

    public void setDigitador(int digitador) {
        this.digitador = digitador;
    }

    public Date getFechadigitador() {
        return fechadigitador;
    }

    public void setFechadigitador(Date fechadigitador) {
        this.fechadigitador = fechadigitador;
    }

    public List<Ordenproduccion> getOrdenproduccionList() {
        return ordenproduccionList;
    }

    public void setOrdenproduccionList(List<Ordenproduccion> ordenproduccionList) {
        this.ordenproduccionList = ordenproduccionList;
    }

    public Planmaestroproduccion getPlanmaestroproduccionFk() {
        return planmaestroproduccionFk;
    }

    public void setPlanmaestroproduccionFk(Planmaestroproduccion planmaestroproduccionFk) {
        this.planmaestroproduccionFk = planmaestroproduccionFk;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (numeroingreso != null ? numeroingreso.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Planmaestroproducciondetallado)) {
            return false;
        }
        Planmaestroproducciondetallado other = (Planmaestroproducciondetallado) object;
        if ((this.numeroingreso == null && other.numeroingreso != null) || (this.numeroingreso != null && !this.numeroingreso.equals(other.numeroingreso))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "mrp.persistencia.entity.Planmaestroproducciondetallado[ numeroingreso=" + numeroingreso + " ]";
    }
    
}
